﻿<?xml version="1.0" encoding="utf-8" ?>
<Experiments>
  
  <Experiment name="Maze Navigation - Fitness (Generational NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.FitnessExperiment.MazeNavigationFitnessExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>15</SpecieCount>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>CyclicFixedIters</Scheme>
        <Iters>2</Iters>
      </Activation>
      <ComplexityRegulationStrategy>Absolute</ComplexityRegulationStrategy>
      <ComplexityThreshold>50</ComplexityThreshold>
      <MaxDegreeOfParallelism>1</MaxDegreeOfParallelism>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>MediumMaze</MazeVariant>
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>
  
  <Experiment name="Maze Navigation - Novelty (Generational NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.NoveltyExperiment.GenerationalMazeNavigationNoveltyExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>15</SpecieCount>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>CyclicFixedIters</Scheme>
        <Iters>2</Iters>
      </Activation>
      <ComplexityRegulationStrategy>Absolute</ComplexityRegulationStrategy>
      <ComplexityThreshold>50</ComplexityThreshold>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.6</WeightMutationProbability>
        <AddConnnectionProbability>0.1</AddConnnectionProbability>
        <AddNodeProbability>0.005</AddNodeProbability>        
      </GenomeConfig>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>HardMaze</MazeVariant>
      <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
      <NearestNeighbors>15</NearestNeighbors>
      <ArchiveAdditionThreshold>6</ArchiveAdditionThreshold>
      <ArchiveThresholdDecreaseMultiplier>0.95</ArchiveThresholdDecreaseMultiplier>
      <ArchiveThresholdIncreaseMultiplier>1.3</ArchiveThresholdIncreaseMultiplier>
      <MaxGenerationalArchiveAddition>5</MaxGenerationalArchiveAddition>
      <MaxGenerationsWithoutArchiveAddition>5</MaxGenerationsWithoutArchiveAddition>
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - Novelty (Steady State NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.NoveltyExperiment.SteadyStateMazeNavigationNoveltyExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>15</SpecieCount>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <OffspringBatchSize>20</OffspringBatchSize>
      <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
      <MaxEvaluations>150000</MaxEvaluations>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>        
        <WeightMutationProbability>0.6</WeightMutationProbability>
        <AddConnnectionProbability>0.1</AddConnnectionProbability>
        <AddNodeProbability>0.005</AddNodeProbability>
        <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
        <ConnectionWeightRange>1</ConnectionWeightRange>
      </GenomeConfig>
      <BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
      </BehaviorConfig>
      <NearestNeighbors>15</NearestNeighbors>
      <NoveltyConfig>                
        <ArchiveAdditionThreshold>6</ArchiveAdditionThreshold>
        <ArchiveThresholdDecreaseMultiplier>0.95</ArchiveThresholdDecreaseMultiplier>
        <ArchiveThresholdIncreaseMultiplier>1.3</ArchiveThresholdIncreaseMultiplier>
        <MaxGenerationalArchiveAddition>5</MaxGenerationalArchiveAddition>
        <MaxGenerationsWithoutArchiveAddition>10</MaxGenerationsWithoutArchiveAddition>
      </NoveltyConfig>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>HardMaze</MazeVariant>
      <!--<LoggingConfig>
        <Type>Evolution</Type>
        <Destination>Database</Destination>
        <ExperimentConfigurationName>Experiment 7</ExperimentConfigurationName>
      </LoggingConfig>
      <LoggingConfig>
        <Type>Evaluation</Type>
        <Destination>Database</Destination>
        <ExperimentConfigurationName>Experiment 7</ExperimentConfigurationName>
      </LoggingConfig>-->
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - MCNS (Steady State NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.MCNSExperiment.SteadyStateMazeNavigationMCNSExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>10</SpecieCount>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>CyclicFixedIters</Scheme>
        <Iters>2</Iters>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <OffspringBatchSize>10</OffspringBatchSize>
      <PopulationEvaluationFrequency>20</PopulationEvaluationFrequency>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.6</WeightMutationProbability>
        <AddConnnectionProbability>0.1</AddConnnectionProbability>
        <AddNodeProbability>0.005</AddNodeProbability>
      </GenomeConfig>
      <BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
        <MinimalCriteriaConfig>
          <MinimalCriteriaConstraint>EuclideanLocation</MinimalCriteriaConstraint>
          <XMin>6</XMin>
          <XMax>289</XMax>
          <YMin>5</YMin>
          <YMax>134</YMax>
        </MinimalCriteriaConfig>
      </BehaviorConfig>
      <NearestNeighbors>15</NearestNeighbors>
      <NoveltyConfig>
        <ArchiveAdditionThreshold>6</ArchiveAdditionThreshold>
        <ArchiveThresholdDecreaseMultiplier>0.95</ArchiveThresholdDecreaseMultiplier>
        <ArchiveThresholdIncreaseMultiplier>1.3</ArchiveThresholdIncreaseMultiplier>
        <MaxGenerationalArchiveAddition>5</MaxGenerationalArchiveAddition>
        <MaxGenerationsWithoutArchiveAddition>10</MaxGenerationsWithoutArchiveAddition>
      </NoveltyConfig>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>OpenEndedMediumMaze</MazeVariant>
      <EvolutionLogFile>F:\\User Data\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Novelty Search\\Experiments\\EvolutionData.csv</EvolutionLogFile>
      <EvaluationLogFile>F:\\User Data\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Novelty Search\\Experiments\\EvaluationData.csv</EvaluationLogFile>
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - Random (Queueing NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.RandomExperiment.QueueingMazeNavigationRandomExperiment</ClassName>
    <Config>
      <SearchAlgorithm>MinimalCriteriaSearch</SearchAlgorithm>
      <SelectionAlgorithm>Queueing</SelectionAlgorithm>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>10</SpecieCount>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <OffspringBatchSize>50</OffspringBatchSize>
      <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
      <MaxEvaluations>1000000</MaxEvaluations>
      <DecodeGenomesToXml>true</DecodeGenomesToXml>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.2</WeightMutationProbability>
        <AddConnnectionProbability>0.01</AddConnnectionProbability>
        <AddNodeProbability>0.002</AddNodeProbability>
        <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
        <ConnectionWeightRange>1</ConnectionWeightRange>
      </GenomeConfig>
      <NearestNeighbors>15</NearestNeighbors>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>HardMaze</MazeVariant>
      <!--<LoggingConfig>
        <Type>Evolution</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Novelty Search\Experiments\\EvolutionData.csv</LogFile>
      </LoggingConfig>
      <LoggingConfig>
        <Type>Evaluation</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Novelty Search\Experiments\\EvaluationData.csv</LogFile>
      </LoggingConfig>-->
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - MCS (Queueing NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.MCSExperiment.QueueingMazeNavigationMCSExperiment</ClassName>
    <Config>
      <SearchAlgorithm>MinimalCriteriaSearch</SearchAlgorithm>
      <SelectionAlgorithm>Queueing</SelectionAlgorithm>
      <PopulationSize>5000</PopulationSize>      
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <OffspringBatchSize>50</OffspringBatchSize>
      <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
      <MaxEvaluations>1000000</MaxEvaluations>
      <DecodeGenomesToXml>false</DecodeGenomesToXml>
      <SeedGenomeCount>100</SeedGenomeCount>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.9</WeightMutationProbability>
        <AddConnnectionProbability>0.05</AddConnnectionProbability>
        <AddNodeProbability>0.01</AddNodeProbability>
        <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
        <ConnectionWeightRange>1</ConnectionWeightRange>
      </GenomeConfig>
      <BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
        <MinimalCriteriaConfig>
          <MinimalCriteriaConstraint>FixedPointEuclideanDistance</MinimalCriteriaConstraint>
          <XStart>36</XStart>
          <YStart>184</YStart>
          <!--<MinimumMileage>16000</MinimumMileage>-->
          <MinimumRequiredDistance>0</MinimumRequiredDistance>
        </MinimalCriteriaConfig>
      </BehaviorConfig>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>HardMaze</MazeVariant>
      <BridgingMagnitude>0</BridgingMagnitude>
      <BridgingApplications>0</BridgingApplications>
      <InitializationAlgorithmConfig>
        <SearchAlgorithm>NoveltySearch</SearchAlgorithm>
        <SelectionAlgorithm>SteadyState</SelectionAlgorithm>
        <PopulationSize>250</PopulationSize>
        <SpecieCount>10</SpecieCount>
        <OffspringBatchSize>20</OffspringBatchSize>
        <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
        <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
        <ComplexityThreshold>30</ComplexityThreshold>
        <DecodeGenomesToXml>false</DecodeGenomesToXml>
        <GenomeConfig>
          <InitialConnectionProportion>1</InitialConnectionProportion>
          <WeightMutationProbability>0.6</WeightMutationProbability>
          <AddConnnectionProbability>0.1</AddConnnectionProbability>
          <AddNodeProbability>0.005</AddNodeProbability>
          <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
          <ConnectionWeightRange>1</ConnectionWeightRange>
        </GenomeConfig>
        <InitBehaviorConfig>
          <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
          <MinimalCriteriaConfig>
            <MinimalCriteriaConstraint>FixedPointEuclideanDistance</MinimalCriteriaConstraint>
            <XStart>36</XStart>
            <YStart>184</YStart>
            <MinimumRequiredDistance>0</MinimumRequiredDistance>
          </MinimalCriteriaConfig>
        </InitBehaviorConfig>
        <NearestNeighbors>15</NearestNeighbors>
        <NoveltyConfig>
          <ArchiveAdditionThreshold>6</ArchiveAdditionThreshold>
          <ArchiveThresholdDecreaseMultiplier>0.95</ArchiveThresholdDecreaseMultiplier>
          <ArchiveThresholdIncreaseMultiplier>1.3</ArchiveThresholdIncreaseMultiplier>
          <MaxGenerationalArchiveAddition>5</MaxGenerationalArchiveAddition>
          <MaxGenerationsWithoutArchiveAddition>10</MaxGenerationsWithoutArchiveAddition>
        </NoveltyConfig>        
      </InitializationAlgorithmConfig>
      <LoggingConfig>
        <Type>Evolution</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Minimal Criteria Search\ExperimentData\\EvolutionData.csv</LogFile>
      </LoggingConfig>
      <!--<LoggingConfig>
        <Type>Evaluation</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Novelty Search\Experiments\\EvaluationData.csv</LogFile>
      </LoggingConfig>-->
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - MCS (Queueing Niched NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.MCSExperiment.QueueingNichedMazeNavigationMCSExperiment</ClassName>
    <Config>
      <SearchAlgorithm>MinimalCriteriaSearch</SearchAlgorithm>
      <SelectionAlgorithm>QueueingWithNiching</SelectionAlgorithm>
      <NicheCapacity>100</NicheCapacity>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <MaxEvaluations>1000000</MaxEvaluations>
      <MaxRestarts>0</MaxRestarts>
      <DecodeGenomesToXml>false</DecodeGenomesToXml>
      <GridDensity>20</GridDensity>
      <ReproductionProportion>0.2</ReproductionProportion>
      <SeedGenomeCount>100</SeedGenomeCount>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.9</WeightMutationProbability>
        <AddConnnectionProbability>0.01</AddConnnectionProbability>
        <AddNodeProbability>0.005</AddNodeProbability>
        <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
        <ConnectionWeightRange>1</ConnectionWeightRange>
      </GenomeConfig>
      <BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
        <MinimalCriteriaConfig>
          <MinimalCriteriaConstraint>FixedPointEuclideanDistance</MinimalCriteriaConstraint>
          <XStart>36</XStart>
          <YStart>184</YStart>
          <MinimumRequiredDistance>150</MinimumRequiredDistance>
        </MinimalCriteriaConfig>
      </BehaviorConfig>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>HardMaze</MazeVariant>
      <InitializationAlgorithmConfig>
        <SearchAlgorithm>NoveltySearch</SearchAlgorithm>
        <SelectionAlgorithm>SteadyState</SelectionAlgorithm>
        <PopulationSize>250</PopulationSize>
        <SpecieCount>10</SpecieCount>
        <OffspringBatchSize>20</OffspringBatchSize>
        <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
        <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
        <ComplexityThreshold>30</ComplexityThreshold>
        <DecodeGenomesToXml>false</DecodeGenomesToXml>
        <GenomeConfig>
          <InitialConnectionProportion>1</InitialConnectionProportion>
          <WeightMutationProbability>0.6</WeightMutationProbability>
          <AddConnnectionProbability>0.1</AddConnnectionProbability>
          <AddNodeProbability>0.005</AddNodeProbability>
          <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
          <ConnectionWeightRange>1</ConnectionWeightRange>
        </GenomeConfig>
        <InitBehaviorConfig>
          <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
          <MinimalCriteriaConfig>
            <MinimalCriteriaConstraint>FixedPointEuclideanDistance</MinimalCriteriaConstraint>
            <XStart>36</XStart>
            <YStart>184</YStart>
            <MinimumRequiredDistance>150</MinimumRequiredDistance>
          </MinimalCriteriaConfig>
        </InitBehaviorConfig>
        <NearestNeighbors>15</NearestNeighbors>
        <NoveltyConfig>
          <ArchiveAdditionThreshold>6</ArchiveAdditionThreshold>
          <ArchiveThresholdDecreaseMultiplier>0.95</ArchiveThresholdDecreaseMultiplier>
          <ArchiveThresholdIncreaseMultiplier>1.3</ArchiveThresholdIncreaseMultiplier>
          <MaxGenerationalArchiveAddition>5</MaxGenerationalArchiveAddition>
          <MaxGenerationsWithoutArchiveAddition>10</MaxGenerationsWithoutArchiveAddition>
        </NoveltyConfig>
      </InitializationAlgorithmConfig>
      <LoggingConfig>
        <Type>Evolution</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Minimal Criteria Search\ExperimentData\\EvolutionData.csv</LogFile>
      </LoggingConfig>
      <LoggingConfig>
        <Type>Evaluation</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Minimal Criteria Search\ExperimentData\\EvaluationData.csv</LogFile>
      </LoggingConfig>
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>
  
  <Experiment name="Maze Navigation - Dynamic MCS (Queueing NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.MCSExperiment.QueueingMazeNavigationDynamicMCSExperiment</ClassName>
    <Config>
      <SearchAlgorithm>MinimalCriteriaSearch</SearchAlgorithm>
      <SelectionAlgorithm>Queueing</SelectionAlgorithm>
      <PopulationSize>5000</PopulationSize>      
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <OffspringBatchSize>100</OffspringBatchSize>
      <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
      <MaxEvaluations>1000000</MaxEvaluations>
      <DecodeGenomesToXml>false</DecodeGenomesToXml>
      <SeedGenomeCount>200</SeedGenomeCount>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.9</WeightMutationProbability>
        <AddConnnectionProbability>0.005</AddConnnectionProbability>
        <AddNodeProbability>0.01</AddNodeProbability>
        <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
        <ConnectionWeightRange>5</ConnectionWeightRange>
      </GenomeConfig>
      <!--<BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
        <MinimalCriteriaConfig>
          <MinimalCriteriaConstraint>FixedPointEuclideanDistance</MinimalCriteriaConstraint>
          <XStart>36</XStart>
          <YStart>184</YStart>
          <MinimumRequiredDistance>0</MinimumRequiredDistance>
          <MaxUpdateCyclesWithoutChange></MaxUpdateCyclesWithoutChange>
        </MinimalCriteriaConfig>
      </BehaviorConfig>-->
      <BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
        <MinimalCriteriaConfig>
          <MinimalCriteriaConstraint>PopulationCentroidEuclideanDistance</MinimalCriteriaConstraint>
          <MinimumRequiredDistance>0</MinimumRequiredDistance>
        </MinimalCriteriaConfig>
      </BehaviorConfig>
      <!--<BehaviorConfig>
        <BehaviorCharacterization>Trajectory</BehaviorCharacterization>
        <MinimalCriteriaConfig>
          <MinimalCriteriaConstraint>Mileage</MinimalCriteriaConstraint>
          <XStart>36</XStart>
          <YStart>184</YStart>
          <MinimumMileage>0</MinimumMileage>
        </MinimalCriteriaConfig>
      </BehaviorConfig>-->
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>HardMaze</MazeVariant>
      <MinimalCriteriaUpdateInterval>10</MinimalCriteriaUpdateInterval>
      <BridgingMagnitude>0</BridgingMagnitude>
      <BridgingApplications></BridgingApplications>
      <!--<LoggingConfig>
        <Type>Evolution</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Minimal Criteria Search\ExperimentData\\EvolutionData.csv</LogFile>
      </LoggingConfig>
      <LoggingConfig>
        <Type>Evaluation</Type>
        <Destination>File</Destination>
        <LogFile>C:\\Users\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Minimal Criteria Search\ExperimentData\\EvaluationData.csv</LogFile>
      </LoggingConfig>-->
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - Coevolution MCS (Queueing NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.CoevolutionMCSExperiment.CoevolutionMazeNavigationMCSExperiment</ClassName>
    <Config>
      <AgentPopulationSize>100</AgentPopulationSize>
      <MazePopulationSize>100</MazePopulationSize>
      <AgentSeedPopulationSize>10</AgentSeedPopulationSize>
      <MazeSeedPopulationSize>10</MazeSeedPopulationSize>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <MaxDegreeOfParallelism>1</MaxDegreeOfParallelism>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.9</WeightMutationProbability>
        <AddConnnectionProbability>0.005</AddConnnectionProbability>
        <AddNodeProbability>0.01</AddNodeProbability>
        <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
        <ConnectionWeightRange>5</ConnectionWeightRange>
      </GenomeConfig>
      <MazeGenomeConfig>
        <MutateWallStartLocationProbability>0.1</MutateWallStartLocationProbability>
        <MutatePassageStartLocationProbability>0.05</MutatePassageStartLocationProbability>
        <MutateAddWallProbability>0.01</MutateAddWallProbability>
        <PerturbanceMagnitude>0.5</PerturbanceMagnitude>
      </MazeGenomeConfig>
      <BehaviorConfig>
        <BehaviorCharacterization>EndPoint</BehaviorCharacterization>
      </BehaviorConfig>
      <OffspringBatchSize>10</OffspringBatchSize>
      <MaxEvaluations>100</MaxEvaluations>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MazeHeight>20</MazeHeight>
      <MazeWidth>20</MazeWidth>
      <NumMazesSolvedCriteria>1</NumMazesSolvedCriteria>
      <NumAgentsSolvedCriteria>1</NumAgentsSolvedCriteria>
      <NumAgentsFailedCriteria>1</NumAgentsFailedCriteria>
      <Description>
        Coevolutionary MCS Maze navigation experiment, evolving both maze navigators and the mazes themselves.
      </Description>
    </Config>
  </Experiment>

  <Experiment name="Maze Navigation - Random (Steady State NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.MazeNavigation.RandomExperiment.SteadyStateMazeNavigationRandomExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>10</SpecieCount>
      <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
      <Activation>
        <Scheme>CyclicFixedIters</Scheme>
        <Iters>2</Iters>
      </Activation>
      <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
      <ComplexityThreshold>30</ComplexityThreshold>
      <OffspringBatchSize>10</OffspringBatchSize>
      <PopulationEvaluationFrequency>20</PopulationEvaluationFrequency>
      <GenomeConfig>
        <InitialConnectionProportion>1</InitialConnectionProportion>
        <WeightMutationProbability>0.6</WeightMutationProbability>
        <AddConnnectionProbability>0.1</AddConnnectionProbability>
        <AddNodeProbability>0.005</AddNodeProbability>
      </GenomeConfig>
      <MaxTimesteps>400</MaxTimesteps>
      <MinSuccessDistance>5</MinSuccessDistance>
      <MaxDistanceToTarget>300</MaxDistanceToTarget>
      <MazeVariant>MediumMaze</MazeVariant>
      <Description>
        This is the maze navigation experiment used in the original novelty search papers (citation needed).
      </Description>
    </Config>
  </Experiment>
</Experiments>